*** Settings ***
Library             SeleniumLibrary
Library             browsermobproxylib.ProxyForRobot
Library           Collections
Library           OperatingSystem
Library           String
Library           DateTime
Suite Setup         Start Browser And Har
Suite Teardown      Close Browsers Proxy And Get Har
*** Variables ***
## Header json file path
${Header_File}              ./modHeader.json
# 缺两个变量 发送header以及路径
*** Test Cases ***
C:\Users\admin\Desktop\itrust-robot\i8.lcl
    ${CLOSE_STATUS}    Set Variable    FALSE
    #------------------------------------------------------------------------------------------------------------------------------ 
    log to console    ------------------------执行文件:C:\Users\admin\Desktop\itrust-robot\i8.lcl--第1行的-url-命令--------------------------
    判断和等待页面加载完成
    Goto    http://192.168.1.12:8000/iTrust/auth/forwardUser.jsp
    Capture Page Screenshot    C:\\Users\\admin\\AppData\\Local\\Programs\\myautotest\\resources\\app.asar.unpacked\\extra\\executor\\robot\\test_project\\archives\\i8-archive\\0.png
    #------------------------------------------------------------------------------------------------------------------------------ 
    log to console    ------------------------执行文件:C:\Users\admin\Desktop\itrust-robot\i8.lcl--第2行的-click-命令--------------------------
    判断和等待页面加载完成
    switchFrame_method_0
    @{selectors}    Create List   xpath=//a[text()='Patient 5']    css=tr:nth-last-child(7) td:nth-last-child(2) > a.iTrustTestNavlink    css=tr:nth-last-child(7) td:nth-child(1) > a.iTrustTestNavlink    css=tr:nth-child(3) td:nth-last-child(2) > a.iTrustTestNavlink    css=tr:nth-child(3) td:nth-child(1) > a.iTrustTestNavlink    
    ${ret}=    获取定位器    ${selectors}
    click_method_1    ${ret}
    Capture Page Screenshot    C:\\Users\\admin\\AppData\\Local\\Programs\\myautotest\\resources\\app.asar.unpacked\\extra\\executor\\robot\\test_project\\archives\\i8-archive\\1.png
    #------------------------------------------------------------------------------------------------------------------------------ 
    log to console    ------------------------执行文件:C:\Users\admin\Desktop\itrust-robot\i8.lcl--第3行的-click-命令--------------------------
    判断和等待页面加载完成
    switchFrame_method_2
    @{selectors}    Create List   xpath=//a[text()='Patient 5']    css=tr:nth-last-child(7) td:nth-last-child(2) > a.iTrustTestNavlink    css=tr:nth-last-child(7) td:nth-child(1) > a.iTrustTestNavlink    css=tr:nth-child(3) td:nth-last-child(2) > a.iTrustTestNavlink    css=tr:nth-child(3) td:nth-child(1) > a.iTrustTestNavlink    
    ${ret}=    获取定位器    ${selectors}
    click_method_3    ${ret}
    Capture Page Screenshot    C:\\Users\\admin\\AppData\\Local\\Programs\\myautotest\\resources\\app.asar.unpacked\\extra\\executor\\robot\\test_project\\archives\\i8-archive\\2.png
    #------------------------------------------------------------------------------------------------------------------------------ 
    log to console    ------------------------执行文件:C:\Users\admin\Desktop\itrust-robot\i8.lcl--第4行的-click-命令--------------------------
    判断和等待页面加载完成
    switchFrame_method_4
    @{selectors}    Create List   xpath=//a[text()='Patient 1']    css=tr:nth-last-child(8) td:nth-last-child(2) > a.iTrustTestNavlink    css=tr:nth-last-child(8) td:nth-child(1) > a.iTrustTestNavlink    css=tr:nth-child(2) td:nth-last-child(2) > a.iTrustTestNavlink    css=tr:nth-child(2) td:nth-child(1) > a.iTrustTestNavlink    
    ${ret}=    获取定位器    ${selectors}
    click_method_5    ${ret}
    Capture Page Screenshot    C:\\Users\\admin\\AppData\\Local\\Programs\\myautotest\\resources\\app.asar.unpacked\\extra\\executor\\robot\\test_project\\archives\\i8-archive\\3.png
    #------------------------------------------------------------------------------------------------------------------------------ 
    log to console    ------------------------执行文件:C:\Users\admin\Desktop\itrust-robot\i8.lcl--第5行的-click-命令--------------------------
    判断和等待页面加载完成
    switchFrame_method_6
    @{selector}    Create List    div#iTrustMenu div:nth-last-child(1) > div.panel-heading    div#iTrustMenu div:nth-child(9) > div.panel-heading    div:nth-child(9) div.panel-heading    div[class='iTrustMenuContents'] div:nth-last-child(1) > div.panel-heading    div[class='iTrustMenuContents'] div:nth-child(9) > div.panel-heading    
    @{xpaths}    Create List   //div[text()='\n\t\tOther\n\t']['NOT_SURE']    
    ${ret}=    获取定位器ByModeOfAuto    ${selector}    ${xpaths}    10ms    7s
    click_method_7    ${ret}
    Capture Page Screenshot    C:\\Users\\admin\\AppData\\Local\\Programs\\myautotest\\resources\\app.asar.unpacked\\extra\\executor\\robot\\test_project\\archives\\i8-archive\\4.png
    #------------------------------------------------------------------------------------------------------------------------------ 
    log to console    ------------------------执行文件:C:\Users\admin\Desktop\itrust-robot\i8.lcl--第6行的-click-命令--------------------------
    判断和等待页面加载完成
    switchFrame_method_8
    @{selector}    Create List    div#other-menu li:nth-last-child(3) > a    div#other-menu li:nth-child(1) > a    
    @{xpaths}    Create List   //a[text()='Expert's Reviews']['NOT_SURE']    
    ${ret}=    获取定位器ByModeOfAuto    ${selector}    ${xpaths}    10ms    7s
    click_method_9    ${ret}
    Capture Page Screenshot    C:\\Users\\admin\\AppData\\Local\\Programs\\myautotest\\resources\\app.asar.unpacked\\extra\\executor\\robot\\test_project\\archives\\i8-archive\\5.png
    #------------------------------------------------------------------------------------------------------------------------------ 
    log to console    ------------------------执行文件:C:\Users\admin\Desktop\itrust-robot\i8.lcl--第7行的-click-命令--------------------------
    判断和等待页面加载完成
    switchFrame_method_10
    @{selectors}    Create List   css=input    css=input#searchBox    css=input[name='search']    css=input[type='text']    css=form input    
    ${ret}=    获取定位器    ${selectors}
    click_method_11    ${ret}
    Capture Page Screenshot    C:\\Users\\admin\\AppData\\Local\\Programs\\myautotest\\resources\\app.asar.unpacked\\extra\\executor\\robot\\test_project\\archives\\i8-archive\\6.png
    #------------------------------------------------------------------------------------------------------------------------------ 
    log to console    ------------------------执行文件:C:\Users\admin\Desktop\itrust-robot\i8.lcl--第8行的-type-命令--------------------------
    判断和等待页面加载完成
    switchFrame_method_12
    @{selectors}    Create List   css=input    css=input#searchBox    css=input[name='search']    css=input[type='text']    css=form input    
    ${ret}=    获取定位器    ${selectors}
    inputtext    ${ret}    1
    Capture Page Screenshot    C:\\Users\\admin\\AppData\\Local\\Programs\\myautotest\\resources\\app.asar.unpacked\\extra\\executor\\robot\\test_project\\archives\\i8-archive\\7.png
    #------------------------------------------------------------------------------------------------------------------------------ 
    log to console    ------------------------执行文件:C:\Users\admin\Desktop\itrust-robot\i8.lcl--第9行的-click-命令--------------------------
    判断和等待页面加载完成
    switchFrame_method_13
    @{selector}    Create List    form    div#iTrustContent form    
    @{xpaths}    Create List   //form[text()='\n Select an Expert\nSearch by name:\n\n\t\n\t\n\n\n\n\nNameSpecialtyReviews\n\n']['NOT_SURE']    
    ${ret}=    获取定位器ByModeOfAuto    ${selector}    ${xpaths}    10ms    7s
    click_method_14    ${ret}
    Capture Page Screenshot    C:\\Users\\admin\\AppData\\Local\\Programs\\myautotest\\resources\\app.asar.unpacked\\extra\\executor\\robot\\test_project\\archives\\i8-archive\\8.png
    #------------------------------------------------------------------------------------------------------------------------------ 
    log to console    ------------------------执行文件:C:\Users\admin\Desktop\itrust-robot\i8.lcl--第10行的-click-命令--------------------------
    判断和等待页面加载完成
    switchFrame_method_15
    @{selector}    Create List    div#iTrustMenu div:nth-last-child(6) > div.panel-heading    div#iTrustMenu div:nth-child(4) > div.panel-heading    div[class='iTrustMenuContents'] div:nth-last-child(6) > div.panel-heading    div[class='iTrustMenuContents'] div:nth-child(4) > div.panel-heading    
    @{xpaths}    Create List   //div[text()='\n\t\tRecords\n\t']['NOT_SURE']    
    ${ret}=    获取定位器ByModeOfAuto    ${selector}    ${xpaths}    10ms    7s
    click_method_16    ${ret}
    Capture Page Screenshot    C:\\Users\\admin\\AppData\\Local\\Programs\\myautotest\\resources\\app.asar.unpacked\\extra\\executor\\robot\\test_project\\archives\\i8-archive\\9.png
    #------------------------------------------------------------------------------------------------------------------------------ 
    log to console    ------------------------执行文件:C:\Users\admin\Desktop\itrust-robot\i8.lcl--第11行的-click-命令--------------------------
    判断和等待页面加载完成
    switchFrame_method_17
    @{selectors}    Create List   xpath=//a[text()='View My Records']    css=div#records-menu li:nth-last-child(3) > a    css=div#records-menu li:nth-child(1) > a    
    ${ret}=    获取定位器    ${selectors}
    click_method_18    ${ret}
    Capture Page Screenshot    C:\\Users\\admin\\AppData\\Local\\Programs\\myautotest\\resources\\app.asar.unpacked\\extra\\executor\\robot\\test_project\\archives\\i8-archive\\10.png
    #------------------------------------------------------------------------------------------------------------------------------ 
    log to console    ------------------------执行文件:C:\Users\admin\Desktop\itrust-robot\i8.lcl--第12行的-click-命令--------------------------
    判断和等待页面加载完成
    switchFrame_method_19
    @{selector}    Create List    tr:nth-last-child(40) td:nth-last-child(1) > a    tr:nth-last-child(40) td:nth-child(2) > a    table:nth-child(2) tr:nth-last-child(40) > td:nth-last-child(1) > a    table:nth-child(2) tr:nth-child(2) > td:nth-child(2) > a    
    @{xpaths}    Create List   //a[text()='\n\t\t\t\t\t\tComplete Visit Survey\n\t\t\t\t\t']['NOT_SURE']    
    ${ret}=    获取定位器ByModeOfAuto    ${selector}    ${xpaths}    10ms    7s
    click_method_20    ${ret}
    Capture Page Screenshot    C:\\Users\\admin\\AppData\\Local\\Programs\\myautotest\\resources\\app.asar.unpacked\\extra\\executor\\robot\\test_project\\archives\\i8-archive\\11.png
    #------------------------------------------------------------------------------------------------------------------------------ 
    log to console    ------------------------执行文件:C:\Users\admin\Desktop\itrust-robot\i8.lcl--第13行的-click-命令--------------------------
    判断和等待页面加载完成
    switchFrame_method_21
    @{selectors}    Create List   css=input[name='waitingMinutesString']    css=table:nth-last-child(8) input[name='waitingMinutesString']    css=table:nth-child(4) input[name='waitingMinutesString']    
    ${ret}=    获取定位器    ${selectors}
    click_method_22    ${ret}
    Capture Page Screenshot    C:\\Users\\admin\\AppData\\Local\\Programs\\myautotest\\resources\\app.asar.unpacked\\extra\\executor\\robot\\test_project\\archives\\i8-archive\\12.png
    #------------------------------------------------------------------------------------------------------------------------------ 
    log to console    ------------------------执行文件:C:\Users\admin\Desktop\itrust-robot\i8.lcl--第14行的-type-命令--------------------------
    判断和等待页面加载完成
    switchFrame_method_23
    @{selectors}    Create List   css=input[name='waitingMinutesString']    css=table:nth-last-child(8) input[name='waitingMinutesString']    css=table:nth-child(4) input[name='waitingMinutesString']    
    ${ret}=    获取定位器    ${selectors}
    inputtext    ${ret}    2
    Capture Page Screenshot    C:\\Users\\admin\\AppData\\Local\\Programs\\myautotest\\resources\\app.asar.unpacked\\extra\\executor\\robot\\test_project\\archives\\i8-archive\\13.png
    #------------------------------------------------------------------------------------------------------------------------------ 
    log to console    ------------------------执行文件:C:\Users\admin\Desktop\itrust-robot\i8.lcl--第15行的-click-命令--------------------------
    判断和等待页面加载完成
    switchFrame_method_24
    @{selectors}    Create List   css=input[name='examMinutesString']    css=table:nth-last-child(8) input[name='examMinutesString']    css=table:nth-child(4) input[name='examMinutesString']    
    ${ret}=    获取定位器    ${selectors}
    click_method_25    ${ret}
    Capture Page Screenshot    C:\\Users\\admin\\AppData\\Local\\Programs\\myautotest\\resources\\app.asar.unpacked\\extra\\executor\\robot\\test_project\\archives\\i8-archive\\14.png
    #------------------------------------------------------------------------------------------------------------------------------ 
    log to console    ------------------------执行文件:C:\Users\admin\Desktop\itrust-robot\i8.lcl--第16行的-type-命令--------------------------
    判断和等待页面加载完成
    switchFrame_method_26
    @{selectors}    Create List   css=input[name='examMinutesString']    css=table:nth-last-child(8) input[name='examMinutesString']    css=table:nth-child(4) input[name='examMinutesString']    
    ${ret}=    获取定位器    ${selectors}
    inputtext    ${ret}    4
    Capture Page Screenshot    C:\\Users\\admin\\AppData\\Local\\Programs\\myautotest\\resources\\app.asar.unpacked\\extra\\executor\\robot\\test_project\\archives\\i8-archive\\15.png
    #------------------------------------------------------------------------------------------------------------------------------ 
    log to console    ------------------------执行文件:C:\Users\admin\Desktop\itrust-robot\i8.lcl--第17行的-click-命令--------------------------
    判断和等待页面加载完成
    switchFrame_method_27
    @{selectors}    Create List   xpath=//input[@value='satRadio5']    css=input[value='satRadio5']    css=table:nth-last-child(6) input[value='satRadio5']    css=table:nth-child(6) input[value='satRadio5']    
    ${ret}=    获取定位器    ${selectors}
    click_method_28    ${ret}
    Capture Page Screenshot    C:\\Users\\admin\\AppData\\Local\\Programs\\myautotest\\resources\\app.asar.unpacked\\extra\\executor\\robot\\test_project\\archives\\i8-archive\\16.png
    #------------------------------------------------------------------------------------------------------------------------------ 
    log to console    ------------------------执行文件:C:\Users\admin\Desktop\itrust-robot\i8.lcl--第18行的-click-命令--------------------------
    判断和等待页面加载完成
    switchFrame_method_29
    @{selectors}    Create List   xpath=//input[@value='treRadio5']    css=input[value='treRadio5']    css=table:nth-last-child(4) input[value='treRadio5']    css=table:nth-child(8) input[value='treRadio5']    
    ${ret}=    获取定位器    ${selectors}
    click_method_30    ${ret}
    Capture Page Screenshot    C:\\Users\\admin\\AppData\\Local\\Programs\\myautotest\\resources\\app.asar.unpacked\\extra\\executor\\robot\\test_project\\archives\\i8-archive\\17.png
    #------------------------------------------------------------------------------------------------------------------------------ 
    log to console    ------------------------执行文件:C:\Users\admin\Desktop\itrust-robot\i8.lcl--第19行的-click-命令--------------------------
    判断和等待页面加载完成
    switchFrame_method_31
    @{selectors}    Create List   xpath=//input[@value='Submit Survey']    css=input[value='Submit Survey']    css=input[type='submit']    css=form input[value='Submit Survey']    
    ${ret}=    获取定位器    ${selectors}
    click_method_32    ${ret}
    Capture Page Screenshot    C:\\Users\\admin\\AppData\\Local\\Programs\\myautotest\\resources\\app.asar.unpacked\\extra\\executor\\robot\\test_project\\archives\\i8-archive\\18.png
    ${CLOSE_STATUS}    Set Variable    TURE
    [Teardown]    Run Keyword If    '${CLOSE_STATUS}'=='FALSE'    错误用例截图
    ...    ELSE    Close Browser
    # Get Har

*** Keywords ***

Get Har
    ${har_json}=        Get Har As Json
    create file     ${EXECDIR}${/}file.har      ${har_json}

Start Browser And Har
    [Documentation]     Start Chrome browser
    Set Selenium Implicit Wait      10
    ## Init BrowserMob Proxy
    Start Local Server      /home/dell/WebRTS/robot/browsermob-proxy-2.1.4/bin/browsermob-proxy        25347

    ## Create dedicated proxy on BrowserMob Proxy
    ${Proxy_args}=     Create Dictionary   port    25340   trustAllServers     true
    ${BrowserMob_Proxy}=    Create Proxy    ${Proxy_args}
    Add Header By Path      ${Header_File}
    ## Configure chrome options
    ${options} =      Evaluate     sys.modules['selenium.webdriver'].ChromeOptions()       sys, selenium.webdriver
    Call Method    ${options}    set_capability    unhandledPromptBehavior    accept
    Call Method    ${options}    add_argument    --test-type --ignore-certificate-errors
    
    ## Configure Webdriver to use BrowserMob Proxy
    Call Method     ${options}      add_argument    --proxy-server\=${BrowserMob_Proxy}
    ## Configure chrome ignore certificate errors
    Call Method     ${options}      add_argument    --ignore-certificate-errors
    ## Start Chrome
    create webdriver    Chrome      chrome_options=${options}
    Maximize Browser Window
    # new har
    # ${Har_options}       create dictionary       captureHeaders=True    captureContent=True     captureBinaryContent=True
    # New Har             options=${Har_options}

## Cloas Browser and server client
Close Browsers Proxy And Get Har
    # Close All Browsers
    # Get Har
    Stop All Server Client
获取定位器
    [Arguments]    ${arg}
    [Timeout]    7s
    FOR    ${i}    IN RANGE    8
        ${arg}    Combine Lists    ${arg}    ${arg}
    END
    FOR    ${i}    IN    @{arg}
        sleep    10ms
        ${result}    ${returnvalue}    Run Keyword And Ignore Error    Wait Until Element Is Visible    ${i}    timeout=100ms
        Return From Keyword If    "${result}" == "PASS"    ${i}
    END
首要定位器
    [Arguments]    ${s}    ${timeout}
    ${result}    ${returnvalue}    Run Keyword And Ignore Error    Wait Until Element Is Visible    ${s}    timeout=${timeout}
    [Return]    ${result}
次要定位器
    [Arguments]    ${s}    ${timeout}
    ${result}    ${returnvalue}    Run Keyword And Ignore Error    Wait Until Element Is Visible    ${s}    timeout=${timeout}
    [Return]    ${result}
获取定位器ByModeOfPriorPass
    [Arguments]    ${arg}    ${prior_timeout}    ${delay}    ${timeout}
    [Timeout]    ${timeout}
    sleep    ${delay}
    ${num}    Set Variable    0
    FOR    ${i}    IN    @{arg}
        ${num}    Evaluate    ${num}+1
    END
    FOR    ${i}    IN RANGE    8
        ${arg}    Combine Lists    ${arg}    ${arg}
    END
    ${all}    Evaluate    0
    FOR    ${i}    IN    @{arg}
        ${yu}    Evaluate    ${all}%${num}
        ${result1}=    Run Keyword If    ${yu} == 0    首要定位器    ${i}    ${prior_timeout}
        ${result2}=    Run Keyword If    ${yu} != 0    次要定位器    ${i}    100ms
        Return From Keyword If    "${result1}" == "PASS" or "${result2}" == "PASS"    ${i}
        ${all}    Evaluate    ${all}+1
    END
获取定位器ByModeOfAuto
    [Arguments]    ${selector}    ${xpaths}    ${delay}    ${timeout}
    sleep    ${delay}
    ${ret}=    Wait Until Keyword Succeeds    ${timeout}    200ms    Execute JavaScript    let selectors=arguments[0],xpaths=arguments[1];async function get(e,t){function r(e,t){for(let r=0;r<e.length;r++)if(t.key==e[r].key)return void(e[r].value=e[r].value+1);l.push(t)}let n=e,u=t,l=[];for(var a=0;a<n.length;a++)try{let e=document.querySelectorAll(n[a]);for(var o=0;o<e.length;o++){let t={key:e[o],value:1};r(l,t)}}catch(e){continue}for(a=0;a<u.length;a++)try{let e=document.evaluate(u[a],document),t=e.iterateNext(),n=0;for(;null!==t;){n++,r(l,{key:t,value:1}),t=e.iterateNext()}1==n&&await new Promise(e=>setTimeout(e,300))}catch(e){continue}var c;return l.sort((c="value",function(e,t){var r=e[c];return t[c]-r}))[0].key};return get(selectors,xpaths);     ARGUMENTS    ${selector}    ${xpaths}
    [Return]    ${ret}
获取定位器ByModeOfPriorAuto
    [Arguments]    ${selector}    ${xpaths}    ${delay}    ${timeout}    ${prior_selector}
    sleep    ${delay}
    ${ret}=    Wait Until Keyword Succeeds    ${timeout}    200ms    Execute JavaScript    function addNode(kvA,node){for(let index=0;index<kvA.length;index++){if(node.key==kvA[index].key){kvA[index].value=kvA[index].value+1;return}}kvArray.push(node)}function hasNode(kvA,node){for(let index=0;index<kvA.length;index++){if(node.key==kvA[index].key){return true}}return false}let kvArray=[];let selectors=arguments[0];let xpaths=arguments[1];let prior_loca=arguments[2];prior_loca=""+prior_loca;let prior_kvArray=[];if(prior_loca.indexOf("//")==0){let prior_nodePath=document.evaluate(prior_loca,document);let prior_element=prior_nodePath.iterateNext();while(prior_element!=null){let node={key:prior_element,value:1};addNode(prior_kvArray,node);prior_element=prior_nodePath.iterateNext()}}else{let prior_nodes=document.querySelectorAll(prior_loca);for(var j=0;j<prior_nodes.length;j++){let node={key:prior_nodes[j],value:1};addNode(prior_kvArray,node)}}for(var i=0;i<selectors.length;i++){try{let nodes=document.querySelectorAll(selectors[i]);for(var j=0;j<nodes.length;j++){let node={key:nodes[j],value:1};if(!hasNode(prior_kvArray,node)){continue}addNode(kvArray,node)}}catch(e){continue}}for(var i=0;i<xpaths.length;i++){try{let nodePath=document.evaluate(xpaths[i],document);let element=nodePath.iterateNext();while(element!==null){let node={key:element,value:1};if(hasNode(prior_kvArray,node)){addNode(kvArray,node)}element=nodePath.iterateNext()}}catch(e){continue}}if(kvArray==[]){return prior_kvArray[0].key}function compare(property){return function(obj1,obj2){var value1=obj1[property];var value2=obj2[property];return value2-value1}}let resArray=kvArray.sort(compare("value"));return resArray[0].key;    ARGUMENTS    ${selector}    ${xpaths}    ${prior_selector}
    [Return]    ${ret}
判断和等待页面加载完成
    Wait For Condition    return document.readyState == 'complete'    60s
错误用例截图
    Run Keyword If Test Failed    Capture Page Screenshot    C:\\Users\\admin\\AppData\\Local\\Programs\\myautotest\\resources\\app.asar.unpacked\\extra\\executor\\robot\\test_project\\project\\pics\\i8.png
    Close Browser
switchFrame_method_0
    unselect frame    
click_method_1
    [Arguments]    ${ret}
    [Timeout]    7s
    sleep    10ms
    ${result}    ${returnvalue}    Run Keyword And Ignore Error    Click Element    ${ret}    
    Run keyword if    "${result}" == "FAIL"    sleep    500ms
    Run keyword if    "${result}" == "FAIL"    click_method_1    ${ret}
switchFrame_method_2
    unselect frame    
click_method_3
    [Arguments]    ${ret}
    [Timeout]    7s
    sleep    10ms
    ${result}    ${returnvalue}    Run Keyword And Ignore Error    Click Element    ${ret}    
    Run keyword if    "${result}" == "FAIL"    sleep    500ms
    Run keyword if    "${result}" == "FAIL"    click_method_3    ${ret}
switchFrame_method_4
    unselect frame    
click_method_5
    [Arguments]    ${ret}
    [Timeout]    7s
    sleep    10ms
    ${result}    ${returnvalue}    Run Keyword And Ignore Error    Click Element    ${ret}    
    Run keyword if    "${result}" == "FAIL"    sleep    500ms
    Run keyword if    "${result}" == "FAIL"    click_method_5    ${ret}
switchFrame_method_6
    unselect frame    
click_method_7
    [Arguments]    ${ret}
    [Timeout]    7s
    sleep    10ms
    ${result}    ${returnvalue}    Run Keyword And Ignore Error    Click Element    ${ret}    
    Run keyword if    "${result}" == "FAIL"    sleep    500ms
    Run keyword if    "${result}" == "FAIL"    click_method_7    ${ret}
switchFrame_method_8
    unselect frame    
click_method_9
    [Arguments]    ${ret}
    [Timeout]    7s
    sleep    10ms
    ${result}    ${returnvalue}    Run Keyword And Ignore Error    Click Element    ${ret}    
    Run keyword if    "${result}" == "FAIL"    sleep    500ms
    Run keyword if    "${result}" == "FAIL"    click_method_9    ${ret}
switchFrame_method_10
    unselect frame    
click_method_11
    [Arguments]    ${ret}
    [Timeout]    7s
    sleep    10ms
    ${result}    ${returnvalue}    Run Keyword And Ignore Error    Click Element    ${ret}    
    Run keyword if    "${result}" == "FAIL"    sleep    500ms
    Run keyword if    "${result}" == "FAIL"    click_method_11    ${ret}
switchFrame_method_12
    unselect frame    
switchFrame_method_13
    unselect frame    
click_method_14
    [Arguments]    ${ret}
    [Timeout]    7s
    sleep    10ms
    ${result}    ${returnvalue}    Run Keyword And Ignore Error    Click Element    ${ret}    
    Run keyword if    "${result}" == "FAIL"    sleep    500ms
    Run keyword if    "${result}" == "FAIL"    click_method_14    ${ret}
switchFrame_method_15
    unselect frame    
click_method_16
    [Arguments]    ${ret}
    [Timeout]    7s
    sleep    10ms
    ${result}    ${returnvalue}    Run Keyword And Ignore Error    Click Element    ${ret}    
    Run keyword if    "${result}" == "FAIL"    sleep    500ms
    Run keyword if    "${result}" == "FAIL"    click_method_16    ${ret}
switchFrame_method_17
    unselect frame    
click_method_18
    [Arguments]    ${ret}
    [Timeout]    7s
    sleep    10ms
    ${result}    ${returnvalue}    Run Keyword And Ignore Error    Click Element    ${ret}    
    Run keyword if    "${result}" == "FAIL"    sleep    500ms
    Run keyword if    "${result}" == "FAIL"    click_method_18    ${ret}
switchFrame_method_19
    unselect frame    
click_method_20
    [Arguments]    ${ret}
    [Timeout]    7s
    sleep    10ms
    ${result}    ${returnvalue}    Run Keyword And Ignore Error    Click Element    ${ret}    
    Run keyword if    "${result}" == "FAIL"    sleep    500ms
    Run keyword if    "${result}" == "FAIL"    click_method_20    ${ret}
switchFrame_method_21
    unselect frame    
click_method_22
    [Arguments]    ${ret}
    [Timeout]    7s
    sleep    10ms
    ${result}    ${returnvalue}    Run Keyword And Ignore Error    Click Element    ${ret}    
    Run keyword if    "${result}" == "FAIL"    sleep    500ms
    Run keyword if    "${result}" == "FAIL"    click_method_22    ${ret}
switchFrame_method_23
    unselect frame    
switchFrame_method_24
    unselect frame    
click_method_25
    [Arguments]    ${ret}
    [Timeout]    7s
    sleep    10ms
    ${result}    ${returnvalue}    Run Keyword And Ignore Error    Click Element    ${ret}    
    Run keyword if    "${result}" == "FAIL"    sleep    500ms
    Run keyword if    "${result}" == "FAIL"    click_method_25    ${ret}
switchFrame_method_26
    unselect frame    
switchFrame_method_27
    unselect frame    
click_method_28
    [Arguments]    ${ret}
    [Timeout]    7s
    sleep    10ms
    ${result}    ${returnvalue}    Run Keyword And Ignore Error    Click Element    ${ret}    
    Run keyword if    "${result}" == "FAIL"    sleep    500ms
    Run keyword if    "${result}" == "FAIL"    click_method_28    ${ret}
switchFrame_method_29
    unselect frame    
click_method_30
    [Arguments]    ${ret}
    [Timeout]    7s
    sleep    10ms
    ${result}    ${returnvalue}    Run Keyword And Ignore Error    Click Element    ${ret}    
    Run keyword if    "${result}" == "FAIL"    sleep    500ms
    Run keyword if    "${result}" == "FAIL"    click_method_30    ${ret}
switchFrame_method_31
    unselect frame    
click_method_32
    [Arguments]    ${ret}
    [Timeout]    7s
    sleep    10ms
    ${result}    ${returnvalue}    Run Keyword And Ignore Error    Click Element    ${ret}    
    Run keyword if    "${result}" == "FAIL"    sleep    500ms
    Run keyword if    "${result}" == "FAIL"    click_method_32    ${ret}
